package com.manage.pojo.entity.case_manage;


import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.annotation.TableName;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.checkerframework.checker.units.qual.N;

import java.math.BigDecimal;
import java.util.Date;
@Data
@TableName("cm_case")
@AllArgsConstructor
@NoArgsConstructor
public class CmCases {

    private static final long serialVersionUID = 1L;

    /** 案件id */
    private Long id;

    /** 外部唯一id */
    private String publicId;

    /** 案件批次id */
    private Long caseBatchId;

    /** 委托日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date entrustDate;

    /** 债务人 */
    private String debtorName;

    /** 贷款种类id */
    private Long loanTypeId;

    /** 委案本金 */
    private BigDecimal principalAmount;

    /** 贷款到期日 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date loanDueDate;

    /** 合同名称 */
    private String contractName;

    /** 案件阶段 */
    private String caseStage;

    /** 案件节点 */
    private String caseNode;

    /** 节点截止日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nodeDeadline;

    /** 案件最新文书 */
    private JSONObject latestDocument;

    /** 预警状态：0正常，1临期，2超期 */
    private Integer warningStatus;

    /** 诉讼时效 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date limitationPeriod;

    /** 贷款编号 */
    private String loanNo;

    /** 委案律师费金额 */
    private BigDecimal basicAttorneyFee;

    /** 基础律师费金额（字段名重复，已重命名） */
    private BigDecimal basicAttorneyFee2;

    /** 基础律师费到账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date basicFeePaymentDate;

    /** 风险律师费金额 */
    private BigDecimal riskAttorneyFee;

    /** 风险律师费到账日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date riskFeePaymentDate;

    /** 保证金缴纳金额 */
    private BigDecimal depositAmount;

    /** 保证金缴纳日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date depositPaymentDate;

    /** 保证金退回金额 */
    private BigDecimal depositRefundAmount;

    /** 保证金退回日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date depositRefundDate;

    /** 保证金结算状态：0在办不可结算,1在办可结算未报，2在办可结算已报，3已办结已结算 */
    private Integer depositSettlementStatus;

    /** 违约金金额 */
    private BigDecimal penaltyAmount;

    /** 承接律师id */
    private Long granteeId;

    /** 下次预警日期 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date nextWarningDate;

    /**创建时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date createTime;

    /**更新时间*/
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date updateTime;
}
